import { get, post, getCookie, Delete, put } from './fetch'
import axios from 'axios'

// 用户登录
export function login(username, password) {
  return post('/api/account/login/', {username, password})
}

// 用户注册
export function register(params) {
  return post('/api/account/register/', params)
}

//更新用户信息
export function updateAccount(params) {
  return put('/api/account/', params)
}

// 退出登录
export function logout() {
  return post('/api/account/logout/')
}

// 获取短信验证码
export function sms(params) {
  return post('/api/account/sms/', params)
}

// 找回密码
export function resetPwd(params) {
  return post('/api/account/resetpwd/', params)
}

// 修改密码
export function changepwd(params) {
  return post('/api/account/changepwd/', params)
}

// 获取用户信息
export function getUserInfo() {
  return get('/api/account/info/', null)
}

// 更新学生班级信息
export function updateClass(params) {
  return post('/api/account/update_class/', params)
}

export function getClass(params) {
  return get('/api/account/class/', params)
}
export function createClass(params) {
  return post('/api/account/class/', params)
}

// 修改头像
export function updateAvatar(params) {
  return put('/api/account/avatar/', params)
}


// 获取我的课程
export function getMyCourse() {
  return get('/api/course/my_all_course/')
}

// 获取所有课程
export function getAllCourse(params) {
  return get('/api/course/search/', params)
}

// 获取课程成员
export function getStudents(params) {
  return get('/api/course/all_student/', params)
}

// 创建课程
export function createCourse(params) {
  return post('/api/course/create/', params)
}

// 删除课程
export function delCourse(params) {
  return post('/api/course/update/', params)
}

// 课程管理
export function manaCourse(params) {
  return post('/api/course/apply/', params)
}

// 移出课程内成员
export function quitCourse(courseid, userid) {
  return post('/quit_course', {courseid, userid})
}

// 布置作业
export function createTask(params) {
  return post('/api/course/create_assignment/', params)
}

// 获取作业
export function getTask(params) {
  return get('/api/course/assignments/', params)
}

// 获取作业题目
export function getQuestions(params) {
  return get('/api/course/assignment_text/', params)
}

// 获取作业详情
export function getQuestionInfo(params) {
  return get('/api/course/assignment_detail/', params)
}

// 新建项目
export function newProject (params) {
  return post('/api/myproject/create/', params)
}

// 打开项目
export function openProject (params) {
  console.log(params)
  return get('/api/myproject/open/', params)
}

// 获取项目
export function getProjects () {
  return get('/api/myproject/all_project/')
}

// 接收项目
export function receiveProject (params) {
  return post('/api/myproject/receive/', params)
}

// 重命名项目
export function saveProject (params) {
  return post('/api/myproject/save/', params)
}

// 运行项目
export function runProject (params) {
  return post('/api/myproject/compile/', params)
}

// 发送项目
export function sendProject (params) {
  return post('/api/myproject/send/', params)
}

// 新建或者删除文件
export function manageFile (params) {
  return post('/api/myproject/file/', params)
}

// 游客创建项目
export function guestCreateProject (params) {
  return post('/api/myproject/guest_create/', params)
}

// 游客运行项目
// export function guestRunProject (params) {
//   return post('/api/myproject/guest_compile/', params)
// }
export function guestRunProject (params) {
  return post('/api/myproject/guest_compile/', params)
}

// 获取大学信息
export function getCollegeInfo(params) {
  return get('/api/account/search_college/', params)
}
// 获取大学信息
export function getColleges(params) {
  return get('/api/account/search_college/', params)
}

// 获取专业信息
export function getMasterInfo(params) {
  return get('/api/account/search_class/', params)
}

// 删除用户项目
export function deleteUserProject(params) {
  return post('/api/myproject/delete/', params)
}

//创建作业
export function createWork(params) {
  return post('/api/course/assignment/', params)
}

// 修改作业
export function updateWork(params) {
  return put('/api/course/assignment/', params)
}

// 删除作业
export function deleteWork(params) {
  return Delete('/api/course/assignment/', params)
}